1) Field of the Invention
The present invention relates to a technology for controlling a computer to execute an operating system as a task.
2) Description of the Related Art
Hybrid operating systems (OS) consisting of one Real-Time OS (hereinafter, hereinafter, “RTOS”) and one General-Purpose OS (hereinafter, “GPOS”) are widely used for embedded systems. Such RTOS's real time features and GPOS's plentiful application availabilities make these hybrid OSs allow real-time processing and facilitate technological developments. Further, by combining the two OSs of RTOS and GPOS, advantages of each of the two OSs can be also effectively utilized.
As an example of the hybrid OSs, there is a hybrid OS which executes its GPOS and the processes under control of the GPOS as a task (called a GPOS task) of its RTOS. The GPOS and the processes under control of the GPOS are not necessarily performed in real-time. Accordingly, the GPOS task is executed with the lowest priority and the other real-time tasks are executed with a higher priority.
FIG. 11 is an illustration of a hybrid OS. In this hybrid OS, the GPOS is executed as one of the real-time tasks under the control of the control computer program of the RTOS. That is, the GPOS including the processes under control of the GPOS is executed as a GPOS task under control of the RTOS. An example of such a GPOS is Linux.
A similar technology is also described in a Japanese Patent Application Laid Open No. 11-149385.
However, in conventional hybrid OSs, the GPOS and the processes under control of the GPOS are executed as a task having the lowest priority under control of the RTOS. That is, the execution of the processes under the control of the GPOS and the execution of the tasks under control of the RTOS are not well balanced. In other words, the processing of loads on the GPOS and the RTOS are not equilibrated.
It has been attempted conventionally to equilibrate the processes in the hybrid OS by utilizing the typical method of balancing the different tasks executed in one OS. That is, the GPOS-task's priority is raised from the lowest to higher if the GPOS-task with the lowest priority has not been executed after a predetermined period of time.
However, when such a method of equilibrating between the tasks is simply applied to the hybrid OS, since the idle process under control of the GPOS is always executable, the priority of the GPOS task is frequently raised. As a result, the GPOS task is overly executed with the raised priority and then the execution of other real-time tasks has to be delayed.